#include "Common.hpp"
#include "Log.hpp"
#include "NetCal.hpp"
using namespace LogModule;

//服务器端，需要指定端口
int main(int args, char* argv[])
{
    if(args != 2)
    {
        LOG(LogLevel::WARNING) << "Usage Error"; 
        exit(USAGE_ERROR);
    }

    //1.业务处理
    Cal cal;
    //2.制定协议  
    std::unique_ptr<Protocol> p = std::make_unique<Protocol>([&cal](Request& req)->Response{
        cal.Excute(req);
    });
    //3.建立连接 
    std::unique_ptr<Socket> tcps = std::make_unique<TcpSocket>(argv[1],[&p](std::shared_ptr<Socket>& sockfd,InetAddr& client){
        p->GetData(sockfd,client);
    });
    //4.运行服务端  ->  服务端接收用户端发送的数据  
    return 0;
}